package org.ghost.quickstart.scalac.collection

import org.ghost.quickstart.scalac.traits.BaseTrait

object SetLoop extends BaseTrait {
  override def print(): Unit = {
    val set = Set(1, 2, 3)

    //常用操作
    println("*****set常用操作")
    println("head操作:第一元素是 : " + set.head)
    println("tail操作:返回除第一个元素之外剩余数据 : " + set.tail)
    println("isEmpty查看列表 是否为空 : " + set.isEmpty)
    println("mkString操作:拼接成字符串 : " + set.mkString(","))
    println("sum操作:求和 : " + set.sum)
    println("min操作:最小值 : " + set.min)
    println("max操作:最大值 : " + set.max)

    //set与set操作
    println("*****set与set操作")
    println("可以使用 ++ 运算符或 Set.++() 方法来连接两个集合。如果元素有重复的就会移除重复的元素")
    println("\t" + (set ++ List.range(10, 15).toSet))
    println("\t" + set.++(List.range(1, 10).toSet))
    println("intersect或&求交集:")
    println("\t" + set.intersect(List.range(1, 10).toSet))
    println("\t" + (set & List.range(1, 10).toSet))
    println("union或|求并集:")
    println("\t" + set.union(List.range(1, 10).toSet))
    println("\t" + (set | List.range(1, 10).toSet))
    println("diff或&~求差集:")
    println("\t" + set.diff(List.range(3, 10).toSet))
    println("\t" + (set &~ List.range(3, 10).toSet))

    //元素与set操作
    println("*****元素与set操作")
    println("+操作:添加元素 : " + (set + 100))
    println("-操作:移除元素 : " + (set - 1))


  }
}
